竞赛
考级
二分查找 时间复杂度 O(logn) 前提: 数组是 有序的 1、二分模板 // 确定左右端点(二分范围) int l = 左端点,r = 右端点; int ans = 初始化; while(l<=r){ // 1、找中间值 int mid=(l+r)/2; // 2、比较查找到中间元素和目标元素的大小 if( ){ // 符合条件的情况 ans=mid; // 答案更新为 mid // 缩小范围 画图!判断缩小左边界还是右边界 // l=mid+1; r=mid-1; } else{ // 缩小范围 和上一个反过来 // r=mid-1; l=mid+1; } } 3、lower_bound 和 upper_bound
Πpaid·King
开-zys
秋的门徒
伪徐(徐炜杰)
我说白了,这题就不能过,作者™也是改了范围作对后再改过来的,纯乐子 这都不过,是真没别的办法了
复仇者_纳西妲厨一位
今日重点:初赛知识点 一、初赛知识点 1.计算机常识: ①网站域名 .cn .com .edu .gov .mil .org .int 中国顶级域名 商业组织 教育机构 政府部门 军事部门 非营利性组织 国际组织 ②计算机科学领域最高奖:图灵奖 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 2.位运算 按位与& 按位或| 按位异或^ 全1为1,否则为0 全0为0,否则为1 相同为0,否则为1 按位取反~ 按位左移<< 按位右移>> 0变为1,1变为0 乘2的n次方 除以2的n次方并向下取整 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 3.变量存储 8bit(比特)=1B(1字节) 1024B=1KB 1024KB=1MB 1024MB=1GB 1024GB=1TB //注意:计算机 常用 存储单位是字节,计算机 最小 存储单位是比特 1字节变量:char, boor 4字节变量:int, float 8字节变量:long long, double. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 4.二分查找的最多比较次数为log(n)并向上取整 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 5.链表特性: ①插入、删除不需要移动元素 ②不必事先估计存储空间 ③所需空间与线性表成正比 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 6.二叉树(知中序遍历与后序遍历,推前序遍历): 先找根节点,根据根节点找左树与右树,不断缩小范围,最后写出前序遍历即可。 ————————————————————————————————————— ###内容可参照2019年CSP-J第一轮认证试卷###
被C++做主
ccj123
#include <windows.h> #pragma comment(lib, "User32.lib") int n=0; int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { while (1) { MessageBox(NULL, TEXT("你点确定试试?关不掉吧!"), TEXT("你的电脑中病毒了 "), MB_OK); } return 0; }
AUTHORITY
bro我970粉丝就差一点点,跪求各位动动发财的小手为我点个赞! 求求了! (1000粉更新所有小说,绝不烂尾,但就一本不会)
仰天长啸你爹驾到
传送门
复仇者_孔明_仲达(定回关)
我和“谁说诸葛孔明不写c++”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/1951470069377384448 我们一起快乐刷题,加入我们吧
今日复习了普及组算法:DFS&BFS,学习了初赛内容归并排序,拓扑排序,快速排序,复赛内容状态压缩DP。 DFS和BFS的题目都很基础,以前也做了好几篇笔记了,就不在此过多赘述。 一.归并排序 是一种有分治思想的算法。 时间复杂度为O(nlogn)O(nlogn)O(nlogn)。 主要用于求逆序对,初赛的程序阅读等题目可能会考。 模板(排序): 模板(逆序对): *中午记得重新默写逆序对代码。 *中午已默写,用时4min. 并且升级了代码: 一定要注意:cnt要开long long。 二.状态压缩DP 所谓状态压缩,就是将一串很长的状态(或数字什么的)压缩成很小的一部分。 其实随着算法难度提升至此,可以发现一个很奇妙的事实: 很多算法或多或少是跟二进制,二次方有关的。 也是一种返璞归真吧。 这种算法要从一道01DFS的题目说起。 题目:链接描述 以样例为例: 此时有四个同学。 DFS枚举的就是每位同学是否来上厕所。 代码长这样: 那么重新举例,如果有三位同学,枚举出来的结果大概是怎样的? 重新排一下: 将这些二进制转换成十进制,你就会得到:0 1 2 3 4 5 6 7 然后需要注意的是:在使用二进制压缩的时候,一般iii都从0开始。 代码: 然后是状态压缩DP经典题目:链接描述 作为一道DP题目(只是这里使用,这道题目的正解应该是DFS),首先要考虑状态表示。 一般都会想到定义dp[i]表示吃掉第1-i块奶酪的最短时间。 但是考虑一个问题:在吃掉第1-i块奶酪的时候,或许小老鼠也吃了第i块奶酪后的奶酪。 顺序也是一个问题:可能我吃1,3,2会更快,但是我只能考虑到1,2,3的可能性。 实际上应该这样定义:double dp[15][1<<15] 注:这里存在n≤15n\le15n≤15。 后面的[1<<15]和上面的DFS那题有同曲同工之妙。 代表了小老鼠吃过的奶酪。 比如小老鼠吃了1,3,4块奶酪,其二进制大概是这样的:1101。 换算一下,就变成了13。 至于状态转移方程,就着代码理解一下吧。 注:明天学习树状数组,今天要预习。 三.快速排序 模板: 五.考试 T4:链接描述 只提40pts40pts40pts的做法。 观察发现:测试点1-4有特殊性质:x=0x=0x=0 那么问题就明了很多:如何将y转化为0? 先注意转化的方式:选择一个正整数kkk,然后将yyy除以2k2^k2k并向下取整。 如何将yyy通过除以2k2^k2k 六.昨日复习
F,IW
太有趣了,大家把有趣的投稿在评论区,有趣的我会发帖子 “据我所知一无所知” “路见不平一声吼,吼完终于平了” “你想要多少钱,我陪你一起想” “36除以6除了6还是6” “冰激凌明明是冰的为什么有热量呢” “两盏声控灯我一语双关” “老板给我工作为啥还要给工资?” “房东把房租给我,房租为啥不给我” “是太阳在晒我,还是我在晒太阳?” “等红灯是在等红灯还是等绿灯?” “现在的年轻人真的没有老一辈大” “下周三是星期几?” “饮水机其实是出水机” 大家还有哪些好玩的语录?快点留言区告诉loaking!
loaking✈
点击章节直接进入 1 2 3 4 5 6 7 8 9 10 11 12 13
千面无相
炒面吗? 又或者是鸡翅? 又或者是炸鸡? 素食主义者:花菜?青菜?水果? 馒头?
b站_只玩鸟的Rhett
Level 0 - “教学关卡” Level 1 - “宜居地带” Level 2 - “管道噩梦” Level 3 - “发电站” Level 4 - “废弃办公室” Level 5 - “恐怖旅馆” Level 6 - “熄灯” Level 7 - “深海恐惧症” Level 8 - “岩洞系统” Level 9 - “郊区” Level 10 - "丰裕" Level 11 - “无垠城市” Level 12 - “矩阵” Level 13 - “无限公寓” Level 14 - “天堂” Level 15 - “未来走廊” Level 16 - “地形转变” Level 17 - “航空母舰” Level 18 - “回忆” Level 19 - “阁楼” Level 20 - “仓库” Level 21 - “编号门” Level 22 - “颓垣” Level 23 - “石化花园” Level 24 - “月球” Level 25 - “四分之一枢纽” Level 26 - “恍如隔世” Level 27 - “岩体泉” Level 28 - “嵐石要塞” Level 29 - “海波利亚” Level 30 - “超越现实” 剩下的一个赞更一个,每10浏览更一个,浏览超过100还会出攻略。
临渊者-云极客-JOCKER
团队广告
Jason_
为什么为什么为什么!!! 个人信息里为什么搜不到我的学校? AC君可不可以修复一下 @AC君
🐱👤
mac_adile
共16201条